//
//  GWCommentInputView.h
//  YY键盘
//
//  Created by hu on 16/5/30.
//  Copyright © 2016年 hu. All rights reserved.
//
#define KMinHeight 45.0f
#define KYYKeyBoard [YYKeyboardManager defaultManager]
#define kFunctionViewHeight 210.f
#define SCREEN_Height_HU [[UIScreen mainScreen]bounds].size.height
#define SCREEN_Width_HU [[UIScreen mainScreen]bounds].size.width
#define StatusBar_HEIGHT 20

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "HPGrowingTextView.h"

/**
 *  functionView 类型
 */
typedef NS_ENUM(NSUInteger, GWFunctionViewShowType){
    GWFunctionViewShowNothing   /**< 不显示functionView */,
    GWFunctionViewShowFace      /**< 显示表情View */,
    GWFunctionViewShowVoice     /**< 显示录音view */,
    GWFunctionViewShowMore      /**< 显示更多view */,
    GWFunctionViewShowKeyboard  /**< 显示键盘 */,
};

@protocol GWCommentInputDelegate;

/**
 *  仿微信信息输入框,支持语音,文字,表情,选择照片,拍照
 */

@interface GWCommentInputView : UIView
@property (weak, nonatomic) id<GWCommentInputDelegate> delegate;
@property (nonatomic, assign) BOOL isFirstResponse;    ///< 是否第一响应者

@property (nonatomic, assign) GWFunctionViewShowType showType;

@property (nonatomic, assign) BOOL isGrow;
//显示输入框
- (void)show;
//隐藏输入框
- (void)hide;

/**
 *  结束输入状态
 */
- (void)endInputing;

+ (instancetype)shareManager;

@end

/**
 *  HUChatBar代理事件,发送图片,地理位置,文字,语音信息等
 */
@protocol GWCommentInputDelegate <NSObject>


/**
 *  仿微信信息输入框,支持语音,文字,表情,选择照片,拍照
 */
@optional


/**
 *  发送普通的文字信息,可能带有表情
 *
 *  @param chatBar
 *  @param message 需要发送的文字信息
 */
- (void)chatBar:(GWCommentInputView *)chatBar sendMessage:(NSString *)message;


/**
 *  开始编辑
 *
 *  @param textView 输入框
 */
- (void)chatBarTextViewDidBeginEditing:(HPGrowingTextView *)textView;
/**
 *  结束编辑
 *
 *  @param textView 输入框
 */
- (void)chatBarTextViewDidEndEditing:(HPGrowingTextView *)textView;
/**
 *  改变编辑状态
 *
 *  @param textView 输入框
 */
- (void)chatBarTextViewDidChangeEditing:(HPGrowingTextView *)textView;
/**
 *  输入框内容文字改变高度
 *
 *  @param textView 输入框
 */
- (void)chatBarGrowingTextViewEditing:(CGFloat)changeHeight;
/**
 *  输入框改变高度
 *
 *  @param changeHeight 改变高度
 *  @param toType       当前状态
 */
- (void)chatBarChangeHeight:(CGFloat)changeHeight toType:(GWFunctionViewShowType)toType;


@end
